Web browser based applications typically load resources like image, script or sound files to the browser to render user interfaces. The demand for more attractive and interactive user interfaces increased amount and size of those resources, which makes the time required for loading those resources crucial for the overall application performance.
For resources which are hosted by the application provider itself and which are requested from a server that is controlled by the application provider, performance measures describing the load performance of requested resources may be obtained at the server side.
A server side performance measurement is not possible for resources requested from other sources like content delivery networks (CDNs) or servers not controlled by the application provider.
Current solutions use geographically distributed networks of virtual user agents, which mimic browser based user activity by automatically sending requests to a monitored application. Those requests may e.g. be controlled by a script and simulate typical user activity like e.g. searching for a product.
Timing data to receive the response and to render the user interface may be measured by those virtual user agents. This timing data may also contain performance data related to loading of third party resources.
However, those virtual user agent based solutions show some shortcomings. The behavior of those virtual user agents has to be tailored to the monitored application in a way to send requests expected by the application. This results in manual configuration and customization work to initially adapt the virtual user agents to the monitored application in form of e.g. scripts that control the virtual user agents. In case of an update of the monitored application which changes the expected requests, also those virtual user agent scripts must be updated.
Virtual user agents simulate user interactions with the monitored application by e.g. sending requests to the monitored application and interpreting the received responses. Various performance measures, including measures describing the loading of third party resources are acquired by the virtual user agent during request sending, receiving and interpreting the response.
As virtual user agents only create and measure synthetic user interactions instead of measuring performance data of real user interactions, they can only provide performance monitoring data with the quality of random sample data. Additionally, as those virtual agents also generate load on the monitored application, it is desired to keep the number of requests generated by virtual users low. This reduces the number of samples available for the performance estimation, which decreases the accuracy and quality of the acquired measurements.
Virtual user agents cannot, or can only in a restricted way, be used to monitor the performance of user interactions that trigger “real” transactions, like an actual purchase of a specific product or authorizing a credit card transaction. In case a virtual user would e.g. create purchase requests for arbitrary products for performance measurements, it would be extremely difficult to filter out those requests in the back office processing to avoid processing them like normal purchases.
Consequently, monitoring methods and systems that measure the performance of third party resource requests are required that can be applied to all types of user interactions, which do not required application specific tailoring of the monitoring system and which provide measurements that describe third party resource load performance as perceived by the real users.
Content delivery networks (CDNs) are networks of regionally distributed servers, which may be used by content providers to geographically distribute their content and to provide location independent, high performance access to the content. However, such content delivery networks may show location based deviations in accessibility and performance of the provided content, which makes a monitoring system desirable which allows detection and measurement of such location based deviations.
This section provides background information related to the present disclosure which is not necessarily prior art.